a {
text-decoration: none;
color: #333;
}
.link,
.button {
    display: block;
    padding: 10px 15px;
    transition: background-color 0.2s ease-in-out 0s, color 0.3s ease-in-out 0.1s;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -khtml-user-select: none;
    user-select: none;
}
.button {
    position: relative;
}
.link:hover,.button:hover {
    color: #1976d2;
    background-color: #eee;
    cursor: pointer;
}
.icon {
    position: absolute;
    right: 0;
    display: inline-block;
    height: 24px;
    width: 24px;
    fill: currentColor;
    transition: -webkit-transform .15s;
    transition: transform .15s;
    transition: transform .15s, -webkit-transform .15s;
    transition-timing-function: ease-in-out;
    }
.heading-children {
    padding-left: 14px;
    overflow: hidden;
}
.expand {
    display: block;
}
.collapsed {
    display: none;
}
.expand .icon {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}
.selected {
    color: #1976d2;
}